#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "media/CameraCapture.h"
#include "cplaywidget.h"
#include "media/VideoCoder.h"
#include "media/RtmpPusher.h"
#include "components/toast.h"
#include "utils.h"
#include "Qss.h"
#include "media/audiocaptureff.h"
#include <vector>
using namespace std;

namespace Ui {
class MainWindow;
}

class MainWindow : public QssMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_pushButton_clicked();
    void on_pushButton_2_clicked();
    void on_pushButton_3_clicked();
    void DetectDpi();
private:
    Ui::MainWindow *ui;
    Camera *mCamera;
    QStringList mCameraList;
    bool m_bCameraOpen;
    CPlayWidget *mPlayerWidget;
    VideoCoder *mVideoCoder;
    bool m_bRtmpPushing;
    H264RtmpPuser *mPusher;
    CaptureAudioFfmpeg *mAudioCapture;
    vector<CaptureAudioFfmpeg::MICInfo> mMic;
    QTimer *mTimer;

};

#endif // MAINWINDOW_H
